#if !defined(AFX_GXPOSITIONEVENTSINK_H__6498DDD3_B375_41DD_92FE_00E9210D45F2__INCLUDED_)
#define AFX_GXPOSITIONEVENTSINK_H__6498DDD3_B375_41DD_92FE_00E9210D45F2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// GxPositionEventSink.h : header file
//

#include "p2.h"
class COrderManager;
/////////////////////////////////////////////////////////////////////////////
// GxPositionEventSink command target

class GxPositionEventSink : public CCmdTarget
{
	DECLARE_DYNCREATE(GxPositionEventSink)

	GxPositionEventSink();           // protected constructor used by dynamic creation

// Attributes
public:
	DWORD m_Cookie;
	IGxPositions m_lpPositions;
// Operations
public:
	COrderManager* OrderMgr() const { return m_pOrderMgr; }
	void OrderMgr(COrderManager* val) { m_pOrderMgr = val; }

private:
	COrderManager* m_pOrderMgr;


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(GxPositionEventSink)
	public:
	virtual void OnFinalRelease();
	//}}AFX_VIRTUAL
	virtual ~GxPositionEventSink();

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(GxPositionEventSink)
		// NOTE - the ClassWizard will add and remove member functions here.
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
	// Generated OLE dispatch map functions
	//{{AFX_DISPATCH(GxPositionEventSink)
	afx_msg void OnNewPosition(LPDISPATCH a_GxPosition);
	afx_msg void OnPositionUpdated(LPDISPATCH a_GxPosition);
	afx_msg void OnEvalPLUpdated(LPDISPATCH a_GxPosition);
	//}}AFX_DISPATCH
	DECLARE_DISPATCH_MAP()
	DECLARE_INTERFACE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_GXPOSITIONEVENTSINK_H__6498DDD3_B375_41DD_92FE_00E9210D45F2__INCLUDED_)
